.. _cmmCfgGetUnitDist: cmmCfgGetUnitDist ==================== -------------------- SYNOPSYS ``````````` .. code-block:: none VT_I4 cmmCfgGetUnitDist( [in] VT_I4 Axis, [out] VT_PR8 UnitDist ) DESCRIPTION ``````````````` - cmmCfgSetUnitDist() 함수는 논리적 단위 거리에 대한 펄스 수를 설정합니다. 여기서 논리적 단위 거리라 함은 Move 함수에서 사용하는 거리 또는 위치에 대한 단위량을 의미합니다. 이 함수를 사용하여 특별히 지정하지 않는 경우에는 논리적 단위 거리에 대한 펄스 수는 초기 값인 ‘1’ 로 사용됩니다. PARAMETER ```````````` - Axis: 축번호. 축번호는 상수값으로 [cmX1] 부터 0 번째 축을 기준 축으로 임의의 축을 설정할 수 있습니다. \ - UnitDist : cmmCfgGetUnitDist 함수의 인자이며, 설정되어 있는 UnitDistance 값을 반환합니다. RETURN VALUE ````````````` - cmmCfgSetUnitDist() 및 cmmCfgGetUnitDist() 함수의 반환값 +--------------+----------------+ | Value | Meaning | +==============+================+ | 음수 | 수행 실패 | +--------------+----------------+ | cmERR_NONE | 수행 성공 | +--------------+----------------+ SEE ALSO `````````````` .. image:: ../../Image/4장_3.jpg :height: 260px :width: 939px :scale: 75% :alt: alternate text :align: center .. image:: ../../Image/4장_4.jpg :height: 260px :width: 939px :scale: 75% :alt: alternate text :align: center .. warning:: Unit distance 값이 무한소수(나누어 떨어지지 않음)이면 소수점 오차가 누적될 수 있습니다. 따라서 이러한 경우에는 Unit distance 를 1 로 하고 사용자가 논리적거리 단위를 처리하는 것이 바람직합니다. .. image:: ../../Image/4장_5.jpg :height: 260px :width: 939px :scale: 75% :alt: alternate text :align: center .. code-block:: none :linenos: Unit distance (Du) = Pr/Lr = 10000/5 = 2000 Unit speed (Vu) = 2000 //따라서, Unit distance"와 "Unit speed"를 2000 으로 설정하면 다음과 같이 모든 이동함수에서 거리의 단위를 //mm 단위에 해당하는 값을 입력할 수 있습니다. // 속도=100(mm/s), 가/감속도=1000(mm/s^2) 으로 설정한다. // cmmCfgSetSpeedPattern(cmX1, cmSMODE_T, 100, 1000, 1000); // (+)방향으로 20mm 이송한다 (실제는 20*2000 = 40000 펄스가 출력됨) // cmmSxMove (0, 20); // (-)방향으로 20mm 이송한다 (실제는 20*2000 = 40000 펄스가 출력됨) // cmmSxMove (0, -20); EXAMPLE ``````````` - cmmCfgGetUnitDist를 참조해주세요. .. seealso:: :ref:`cmmCfgSetUnitDist`